package com.navi.loaddata.core.oracleEntity.cell2;

import javax.persistence.*;
import java.util.Date;

/**
 * Created by ghost on 2018/3/25.
 */
@Entity
@Table(name = "ETL_CELL2_DEFECT_V", schema = "EDALDR", catalog = "")
@IdClass(EtlCell2DefectVPK.class)
public class EtlCell2DefectV {
    private String stepId;
    //    private String componentId;
    private Date chipEndTime;
    private String defectNo;
    private String chipId;
    //    private String chipNo;
    private String defectType;
    private String defectCode;
    private String imageData;
    private String grayimageData;
    private String autoDefectCode;
    private String reason;
    private String mainDefectFlag;
    private String cellZone;
    private Long panelX;
    private Long panelY;
    private Long panelX2;
    private Long panelY2;
    private Long panelX3;
    private Long panelY3;
    private Long s;
    private Long g;
    private String defSize;
    private Long sizeX;
    private Long sizeY;
    private String defectPattern;
    private String ccdid;
    private String operatorIdRepr;
    private String defectFlag;
    private String defZone;
    private Long defGrayLevelMax;
    private Long defGrayLevelMin;
    private Long defGrayLevelAvg;
    private Long defGrayLevelRef;
    private Long adjPixelX;
    private Long adjPixelY;
    private Long adjDftAreaSize;
    private Long adjDftSizeX;
    private Long adjDftSizeY;
    private Long adjDftZone;
    private Long alarmTestKeyNo;
    private String inspections;
    private String beforeTapeValue;
    private String afterTapeValue;
    private Long grayDftQty;
    private String aoiDftImgName;
    private String beforeRvrpImageName;
    private String afterRvrpImageName;
    private String beforeInrpImageName;
    private String afterInrpImageName;
    private Long rejudgeFlag;
    private Long defectGlAve;
    private String testerDefType1;
    private String testerDefType2;
    private String defResetFlg;
    private String repairLineNo;
    private String defRealSize;
    private String defLayer;
    private String lcvdRepairTime;
    private String lcvdLen;
    private String operationId;
    private String lcvdType;
    private String reserved1;
    private String reserved2;
    private String defPictName;
    private String analysModeCode;
    private Double arrayX;
    private Double arrayY;
    private Double arrayX2;
    private Double arrayY2;
    private Double arrayX3;
    private Double arrayY3;
    private Double arrayGlassS;
    private Double arrayGlassG;
    private Double arrayPanelS;
    private Double arrayPanelG;

    @Id
    @Column(name = "STEP_ID")
    public String getStepId() {
        return stepId;
    }

    public void setStepId(String stepId) {
        this.stepId = stepId;
    }

//    @Id
//    @Column(name = "COMPONENT_ID")
//    public String getComponentId() {
//        return componentId;
//    }
//
//    public void setComponentId(String componentId) {
//        this.componentId = componentId;
//    }

    @Id
    @Column(name = "CHIP_END_TIME")
    @Temporal(TemporalType.TIMESTAMP)
    public Date getChipEndTime() {
        return chipEndTime;
    }

    public void setChipEndTime(Date chipEndTime) {
        this.chipEndTime = chipEndTime;
    }

    @Id
    @Column(name = "DEFECT_NO")
    public String getDefectNo() {
        return defectNo;
    }

    public void setDefectNo(String defectNo) {
        this.defectNo = defectNo;
    }

    @Basic
    @Column(name = "CHIP_ID")
    public String getChipId() {
        return chipId;
    }

    public void setChipId(String chipId) {
        this.chipId = chipId;
    }

//    @Basic
//    @Column(name = "CHIP_NO")
//    public String getChipNo() {
//        return chipNo;
//    }
//
//    public void setChipNo(String chipNo) {
//        this.chipNo = chipNo;
//    }

    @Basic
    @Column(name = "DEFECT_TYPE")
    public String getDefectType() {
        return defectType;
    }

    public void setDefectType(String defectType) {
        this.defectType = defectType;
    }

    @Basic
    @Column(name = "DEFECT_CODE")
    public String getDefectCode() {
        return defectCode;
    }

    public void setDefectCode(String defectCode) {
        this.defectCode = defectCode;
    }

    @Basic
    @Column(name = "IMAGE_DATA")
    public String getImageData() {
        return imageData;
    }

    public void setImageData(String imageData) {
        this.imageData = imageData;
    }

    @Basic
    @Column(name = "GRAYIMAGE_DATA")
    public String getGrayimageData() {
        return grayimageData;
    }

    public void setGrayimageData(String grayimageData) {
        this.grayimageData = grayimageData;
    }

    @Basic
    @Column(name = "AUTO_DEFECT_CODE")
    public String getAutoDefectCode() {
        return autoDefectCode;
    }

    public void setAutoDefectCode(String autoDefectCode) {
        this.autoDefectCode = autoDefectCode;
    }

    @Basic
    @Column(name = "REASON")
    public String getReason() {
        return reason;
    }

    public void setReason(String reason) {
        this.reason = reason;
    }

    @Basic
    @Column(name = "MAIN_DEFECT_FLAG")
    public String getMainDefectFlag() {
        return mainDefectFlag;
    }

    public void setMainDefectFlag(String mainDefectFlag) {
        this.mainDefectFlag = mainDefectFlag;
    }

    @Basic
    @Column(name = "CELL_ZONE")
    public String getCellZone() {
        return cellZone;
    }

    public void setCellZone(String cellZone) {
        this.cellZone = cellZone;
    }

    @Basic
    @Column(name = "PANEL_X")
    public Long getPanelX() {
        return panelX;
    }

    public void setPanelX(Long panelX) {
        this.panelX = panelX;
    }

    @Basic
    @Column(name = "PANEL_Y")
    public Long getPanelY() {
        return panelY;
    }

    public void setPanelY(Long panelY) {
        this.panelY = panelY;
    }

    @Basic
    @Column(name = "PANEL_X2")
    public Long getPanelX2() {
        return panelX2;
    }

    public void setPanelX2(Long panelX2) {
        this.panelX2 = panelX2;
    }

    @Basic
    @Column(name = "PANEL_Y2")
    public Long getPanelY2() {
        return panelY2;
    }

    public void setPanelY2(Long panelY2) {
        this.panelY2 = panelY2;
    }

    @Basic
    @Column(name = "PANEL_X3")
    public Long getPanelX3() {
        return panelX3;
    }

    public void setPanelX3(Long panelX3) {
        this.panelX3 = panelX3;
    }

    @Basic
    @Column(name = "PANEL_Y3")
    public Long getPanelY3() {
        return panelY3;
    }

    public void setPanelY3(Long panelY3) {
        this.panelY3 = panelY3;
    }

    @Basic
    @Column(name = "S")
    public Long getS() {
        return s;
    }

    public void setS(Long s) {
        this.s = s;
    }

    @Basic
    @Column(name = "G")
    public Long getG() {
        return g;
    }

    public void setG(Long g) {
        this.g = g;
    }

    @Basic
    @Column(name = "DEF_SIZE")
    public String getDefSize() {
        return defSize;
    }

    public void setDefSize(String defSize) {
        this.defSize = defSize;
    }

    @Basic
    @Column(name = "SIZE_X")
    public Long getSizeX() {
        return sizeX;
    }

    public void setSizeX(Long sizeX) {
        this.sizeX = sizeX;
    }

    @Basic
    @Column(name = "SIZE_Y")
    public Long getSizeY() {
        return sizeY;
    }

    public void setSizeY(Long sizeY) {
        this.sizeY = sizeY;
    }

    @Basic
    @Column(name = "DEFECT_PATTERN")
    public String getDefectPattern() {
        return defectPattern;
    }

    public void setDefectPattern(String defectPattern) {
        this.defectPattern = defectPattern;
    }

    @Basic
    @Column(name = "CCDID")
    public String getCcdid() {
        return ccdid;
    }

    public void setCcdid(String ccdid) {
        this.ccdid = ccdid;
    }

    @Basic
    @Column(name = "OPERATOR_ID_REPR")
    public String getOperatorIdRepr() {
        return operatorIdRepr;
    }

    public void setOperatorIdRepr(String operatorIdRepr) {
        this.operatorIdRepr = operatorIdRepr;
    }

    @Basic
    @Column(name = "DEFECT_FLAG")
    public String getDefectFlag() {
        return defectFlag;
    }

    public void setDefectFlag(String defectFlag) {
        this.defectFlag = defectFlag;
    }

    @Basic
    @Column(name = "DEF_ZONE")
    public String getDefZone() {
        return defZone;
    }

    public void setDefZone(String defZone) {
        this.defZone = defZone;
    }

    @Basic
    @Column(name = "DEF_GRAY_LEVEL_MAX")
    public Long getDefGrayLevelMax() {
        return defGrayLevelMax;
    }

    public void setDefGrayLevelMax(Long defGrayLevelMax) {
        this.defGrayLevelMax = defGrayLevelMax;
    }

    @Basic
    @Column(name = "DEF_GRAY_LEVEL_MIN")
    public Long getDefGrayLevelMin() {
        return defGrayLevelMin;
    }

    public void setDefGrayLevelMin(Long defGrayLevelMin) {
        this.defGrayLevelMin = defGrayLevelMin;
    }

    @Basic
    @Column(name = "DEF_GRAY_LEVEL_AVG")
    public Long getDefGrayLevelAvg() {
        return defGrayLevelAvg;
    }

    public void setDefGrayLevelAvg(Long defGrayLevelAvg) {
        this.defGrayLevelAvg = defGrayLevelAvg;
    }

    @Basic
    @Column(name = "DEF_GRAY_LEVEL_REF")
    public Long getDefGrayLevelRef() {
        return defGrayLevelRef;
    }

    public void setDefGrayLevelRef(Long defGrayLevelRef) {
        this.defGrayLevelRef = defGrayLevelRef;
    }

    @Basic
    @Column(name = "ADJ_PIXEL_X")
    public Long getAdjPixelX() {
        return adjPixelX;
    }

    public void setAdjPixelX(Long adjPixelX) {
        this.adjPixelX = adjPixelX;
    }

    @Basic
    @Column(name = "ADJ_PIXEL_Y")
    public Long getAdjPixelY() {
        return adjPixelY;
    }

    public void setAdjPixelY(Long adjPixelY) {
        this.adjPixelY = adjPixelY;
    }

    @Basic
    @Column(name = "ADJ_DFT_AREA_SIZE")
    public Long getAdjDftAreaSize() {
        return adjDftAreaSize;
    }

    public void setAdjDftAreaSize(Long adjDftAreaSize) {
        this.adjDftAreaSize = adjDftAreaSize;
    }

    @Basic
    @Column(name = "ADJ_DFT_SIZE_X")
    public Long getAdjDftSizeX() {
        return adjDftSizeX;
    }

    public void setAdjDftSizeX(Long adjDftSizeX) {
        this.adjDftSizeX = adjDftSizeX;
    }

    @Basic
    @Column(name = "ADJ_DFT_SIZE_Y")
    public Long getAdjDftSizeY() {
        return adjDftSizeY;
    }

    public void setAdjDftSizeY(Long adjDftSizeY) {
        this.adjDftSizeY = adjDftSizeY;
    }

    @Basic
    @Column(name = "ADJ_DFT_ZONE")
    public Long getAdjDftZone() {
        return adjDftZone;
    }

    public void setAdjDftZone(Long adjDftZone) {
        this.adjDftZone = adjDftZone;
    }

    @Basic
    @Column(name = "ALARM_TEST_KEY_NO")
    public Long getAlarmTestKeyNo() {
        return alarmTestKeyNo;
    }

    public void setAlarmTestKeyNo(Long alarmTestKeyNo) {
        this.alarmTestKeyNo = alarmTestKeyNo;
    }

    @Basic
    @Column(name = "INSPECTIONS")
    public String getInspections() {
        return inspections;
    }

    public void setInspections(String inspections) {
        this.inspections = inspections;
    }

    @Basic
    @Column(name = "BEFORE_TAPE_VALUE")
    public String getBeforeTapeValue() {
        return beforeTapeValue;
    }

    public void setBeforeTapeValue(String beforeTapeValue) {
        this.beforeTapeValue = beforeTapeValue;
    }

    @Basic
    @Column(name = "AFTER_TAPE_VALUE")
    public String getAfterTapeValue() {
        return afterTapeValue;
    }

    public void setAfterTapeValue(String afterTapeValue) {
        this.afterTapeValue = afterTapeValue;
    }

    @Basic
    @Column(name = "GRAY_DFT_QTY")
    public Long getGrayDftQty() {
        return grayDftQty;
    }

    public void setGrayDftQty(Long grayDftQty) {
        this.grayDftQty = grayDftQty;
    }

    @Basic
    @Column(name = "AOI_DFT_IMG_NAME")
    public String getAoiDftImgName() {
        return aoiDftImgName;
    }

    public void setAoiDftImgName(String aoiDftImgName) {
        this.aoiDftImgName = aoiDftImgName;
    }

    @Basic
    @Column(name = "BEFORE_RVRP_IMAGE_NAME")
    public String getBeforeRvrpImageName() {
        return beforeRvrpImageName;
    }

    public void setBeforeRvrpImageName(String beforeRvrpImageName) {
        this.beforeRvrpImageName = beforeRvrpImageName;
    }

    @Basic
    @Column(name = "AFTER_RVRP_IMAGE_NAME")
    public String getAfterRvrpImageName() {
        return afterRvrpImageName;
    }

    public void setAfterRvrpImageName(String afterRvrpImageName) {
        this.afterRvrpImageName = afterRvrpImageName;
    }

    @Basic
    @Column(name = "BEFORE_INRP_IMAGE_NAME")
    public String getBeforeInrpImageName() {
        return beforeInrpImageName;
    }

    public void setBeforeInrpImageName(String beforeInrpImageName) {
        this.beforeInrpImageName = beforeInrpImageName;
    }

    @Basic
    @Column(name = "AFTER_INRP_IMAGE_NAME")
    public String getAfterInrpImageName() {
        return afterInrpImageName;
    }

    public void setAfterInrpImageName(String afterInrpImageName) {
        this.afterInrpImageName = afterInrpImageName;
    }

    @Basic
    @Column(name = "REJUDGE_FLAG")
    public Long getRejudgeFlag() {
        return rejudgeFlag;
    }

    public void setRejudgeFlag(Long rejudgeFlag) {
        this.rejudgeFlag = rejudgeFlag;
    }

    @Basic
    @Column(name = "DEFECT_GL_AVE")
    public Long getDefectGlAve() {
        return defectGlAve;
    }

    public void setDefectGlAve(Long defectGlAve) {
        this.defectGlAve = defectGlAve;
    }

    @Basic
    @Column(name = "TESTER_DEF_TYPE1")
    public String getTesterDefType1() {
        return testerDefType1;
    }

    public void setTesterDefType1(String testerDefType1) {
        this.testerDefType1 = testerDefType1;
    }

    @Basic
    @Column(name = "TESTER_DEF_TYPE2")
    public String getTesterDefType2() {
        return testerDefType2;
    }

    public void setTesterDefType2(String testerDefType2) {
        this.testerDefType2 = testerDefType2;
    }

    @Basic
    @Column(name = "DEF_RESET_FLG")
    public String getDefResetFlg() {
        return defResetFlg;
    }

    public void setDefResetFlg(String defResetFlg) {
        this.defResetFlg = defResetFlg;
    }

    @Basic
    @Column(name = "REPAIR_LINE_NO")
    public String getRepairLineNo() {
        return repairLineNo;
    }

    public void setRepairLineNo(String repairLineNo) {
        this.repairLineNo = repairLineNo;
    }

    @Basic
    @Column(name = "DEF_REAL_SIZE")
    public String getDefRealSize() {
        return defRealSize;
    }

    public void setDefRealSize(String defRealSize) {
        this.defRealSize = defRealSize;
    }

    @Basic
    @Column(name = "DEF_LAYER")
    public String getDefLayer() {
        return defLayer;
    }

    public void setDefLayer(String defLayer) {
        this.defLayer = defLayer;
    }

    @Basic
    @Column(name = "LCVD_REPAIR_TIME")
    public String getLcvdRepairTime() {
        return lcvdRepairTime;
    }

    public void setLcvdRepairTime(String lcvdRepairTime) {
        this.lcvdRepairTime = lcvdRepairTime;
    }

    @Basic
    @Column(name = "LCVD_LEN")
    public String getLcvdLen() {
        return lcvdLen;
    }

    public void setLcvdLen(String lcvdLen) {
        this.lcvdLen = lcvdLen;
    }

    @Basic
    @Column(name = "OPERATION_ID")
    public String getOperationId() {
        return operationId;
    }

    public void setOperationId(String operationId) {
        this.operationId = operationId;
    }

    @Basic
    @Column(name = "LCVD_TYPE")
    public String getLcvdType() {
        return lcvdType;
    }

    public void setLcvdType(String lcvdType) {
        this.lcvdType = lcvdType;
    }

    @Basic
    @Column(name = "RESERVED1")
    public String getReserved1() {
        return reserved1;
    }

    public void setReserved1(String reserved1) {
        this.reserved1 = reserved1;
    }

    @Basic
    @Column(name = "RESERVED2")
    public String getReserved2() {
        return reserved2;
    }

    public void setReserved2(String reserved2) {
        this.reserved2 = reserved2;
    }

    @Basic
    @Column(name = "DEF_PICT_NAME")
    public String getDefPictName() {
        return defPictName;
    }

    public void setDefPictName(String defPictName) {
        this.defPictName = defPictName;
    }

    @Basic
    @Column(name = "ANALYS_MODE_CODE")
    public String getAnalysModeCode() {
        return analysModeCode;
    }

    public void setAnalysModeCode(String analysModeCode) {
        this.analysModeCode = analysModeCode;
    }

    @Basic
    @Column(name = "GLASS_X")
    public Double getGlassX() {
        return arrayX;
    }

    public void setGlassX(Double arrayX) {
        this.arrayX = arrayX;
    }

    @Basic
    @Column(name = "GLASS_Y")
    public Double getGlassY() {
        return arrayY;
    }

    public void setGlassY(Double arrayY) {
        this.arrayY = arrayY;
    }

    @Basic
    @Column(name = "GLASS_X2")
    public Double getGlassX2() {
        return arrayX2;
    }

    public void setGlassX2(Double arrayX2) {
        this.arrayX2 = arrayX2;
    }

    @Basic
    @Column(name = "GLASS_Y2")
    public Double getGlassY2() {
        return arrayY2;
    }

    public void setGlassY2(Double arrayY2) {
        this.arrayY2 = arrayY2;
    }

    @Basic
    @Column(name = "GLASS_X3")
    public Double getGlassX3() {
        return arrayX3;
    }

    public void setGlassX3(Double arrayX3) {
        this.arrayX3 = arrayX3;
    }

    @Basic
    @Column(name = "GLASS_Y3")
    public Double getGlassY3() {
        return arrayY3;
    }

    public void setGlassY3(Double arrayY3) {
        this.arrayY3 = arrayY3;
    }

    @Basic
    @Column(name = "ARRAY_GLASS_S")
    public Double getArrayGlassS() {
        return arrayGlassS;
    }

    public void setArrayGlassS(Double arrayGlassS) {
        this.arrayGlassS = arrayGlassS;
    }

    @Basic
    @Column(name = "ARRAY_GLASS_G")
    public Double getArrayGlassG() {
        return arrayGlassG;
    }

    public void setArrayGlassG(Double arrayGlassG) {
        this.arrayGlassG = arrayGlassG;
    }

    @Basic
    @Column(name = "ARRAY_PANEL_S")
    public Double getArrayPanelS() {
        return arrayPanelS;
    }

    public void setArrayPanelS(Double arrayPanelS) {
        this.arrayPanelS = arrayPanelS;
    }

    @Basic
    @Column(name = "ARRAY_PANEL_G")
    public Double getArrayPanelG() {
        return arrayPanelG;
    }

    public void setArrayPanelG(Double arrayPanelG) {
        this.arrayPanelG = arrayPanelG;
    }


    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;

        EtlCell2DefectV that = (EtlCell2DefectV) o;

        if (stepId != null ? !stepId.equals(that.stepId) : that.stepId != null) return false;
//        if (componentId != null ? !componentId.equals(that.componentId) : that.componentId != null) return false;
        if (chipEndTime != null ? !chipEndTime.equals(that.chipEndTime) : that.chipEndTime != null)
            return false;
        if (defectNo != null ? !defectNo.equals(that.defectNo) : that.defectNo != null) return false;
        if (chipId != null ? !chipId.equals(that.chipId) : that.chipId != null) return false;
//        if (chipNo != null ? !chipNo.equals(that.chipNo) : that.chipNo != null) return false;
        if (defectType != null ? !defectType.equals(that.defectType) : that.defectType != null) return false;
        if (defectCode != null ? !defectCode.equals(that.defectCode) : that.defectCode != null) return false;
        if (imageData != null ? !imageData.equals(that.imageData) : that.imageData != null) return false;
        if (grayimageData != null ? !grayimageData.equals(that.grayimageData) : that.grayimageData != null)
            return false;
        if (autoDefectCode != null ? !autoDefectCode.equals(that.autoDefectCode) : that.autoDefectCode != null)
            return false;
        if (reason != null ? !reason.equals(that.reason) : that.reason != null) return false;
        if (mainDefectFlag != null ? !mainDefectFlag.equals(that.mainDefectFlag) : that.mainDefectFlag != null)
            return false;
        if (cellZone != null ? !cellZone.equals(that.cellZone) : that.cellZone != null) return false;
        if (panelX != null ? !panelX.equals(that.panelX) : that.panelX != null) return false;
        if (panelY != null ? !panelY.equals(that.panelY) : that.panelY != null) return false;
        if (panelX2 != null ? !panelX2.equals(that.panelX2) : that.panelX2 != null) return false;
        if (panelY2 != null ? !panelY2.equals(that.panelY2) : that.panelY2 != null) return false;
        if (panelX3 != null ? !panelX3.equals(that.panelX3) : that.panelX3 != null) return false;
        if (panelY3 != null ? !panelY3.equals(that.panelY3) : that.panelY3 != null) return false;
        if (s != null ? !s.equals(that.s) : that.s != null) return false;
        if (g != null ? !g.equals(that.g) : that.g != null) return false;
        if (defSize != null ? !defSize.equals(that.defSize) : that.defSize != null) return false;
        if (sizeX != null ? !sizeX.equals(that.sizeX) : that.sizeX != null) return false;
        if (sizeY != null ? !sizeY.equals(that.sizeY) : that.sizeY != null) return false;
        if (defectPattern != null ? !defectPattern.equals(that.defectPattern) : that.defectPattern != null)
            return false;
        if (ccdid != null ? !ccdid.equals(that.ccdid) : that.ccdid != null) return false;
        if (operatorIdRepr != null ? !operatorIdRepr.equals(that.operatorIdRepr) : that.operatorIdRepr != null)
            return false;
        if (defectFlag != null ? !defectFlag.equals(that.defectFlag) : that.defectFlag != null) return false;
        if (defZone != null ? !defZone.equals(that.defZone) : that.defZone != null) return false;
        if (defGrayLevelMax != null ? !defGrayLevelMax.equals(that.defGrayLevelMax) : that.defGrayLevelMax != null)
            return false;
        if (defGrayLevelMin != null ? !defGrayLevelMin.equals(that.defGrayLevelMin) : that.defGrayLevelMin != null)
            return false;
        if (defGrayLevelAvg != null ? !defGrayLevelAvg.equals(that.defGrayLevelAvg) : that.defGrayLevelAvg != null)
            return false;
        if (defGrayLevelRef != null ? !defGrayLevelRef.equals(that.defGrayLevelRef) : that.defGrayLevelRef != null)
            return false;
        if (adjPixelX != null ? !adjPixelX.equals(that.adjPixelX) : that.adjPixelX != null) return false;
        if (adjPixelY != null ? !adjPixelY.equals(that.adjPixelY) : that.adjPixelY != null) return false;
        if (adjDftAreaSize != null ? !adjDftAreaSize.equals(that.adjDftAreaSize) : that.adjDftAreaSize != null)
            return false;
        if (adjDftSizeX != null ? !adjDftSizeX.equals(that.adjDftSizeX) : that.adjDftSizeX != null) return false;
        if (adjDftSizeY != null ? !adjDftSizeY.equals(that.adjDftSizeY) : that.adjDftSizeY != null) return false;
        if (adjDftZone != null ? !adjDftZone.equals(that.adjDftZone) : that.adjDftZone != null) return false;
        if (alarmTestKeyNo != null ? !alarmTestKeyNo.equals(that.alarmTestKeyNo) : that.alarmTestKeyNo != null)
            return false;
        if (inspections != null ? !inspections.equals(that.inspections) : that.inspections != null) return false;
        if (beforeTapeValue != null ? !beforeTapeValue.equals(that.beforeTapeValue) : that.beforeTapeValue != null)
            return false;
        if (afterTapeValue != null ? !afterTapeValue.equals(that.afterTapeValue) : that.afterTapeValue != null)
            return false;
        if (grayDftQty != null ? !grayDftQty.equals(that.grayDftQty) : that.grayDftQty != null) return false;
        if (aoiDftImgName != null ? !aoiDftImgName.equals(that.aoiDftImgName) : that.aoiDftImgName != null)
            return false;
        if (beforeRvrpImageName != null ? !beforeRvrpImageName.equals(that.beforeRvrpImageName) : that.beforeRvrpImageName != null)
            return false;
        if (afterRvrpImageName != null ? !afterRvrpImageName.equals(that.afterRvrpImageName) : that.afterRvrpImageName != null)
            return false;
        if (beforeInrpImageName != null ? !beforeInrpImageName.equals(that.beforeInrpImageName) : that.beforeInrpImageName != null)
            return false;
        if (afterInrpImageName != null ? !afterInrpImageName.equals(that.afterInrpImageName) : that.afterInrpImageName != null)
            return false;
        if (rejudgeFlag != null ? !rejudgeFlag.equals(that.rejudgeFlag) : that.rejudgeFlag != null) return false;
        if (defectGlAve != null ? !defectGlAve.equals(that.defectGlAve) : that.defectGlAve != null) return false;
        if (testerDefType1 != null ? !testerDefType1.equals(that.testerDefType1) : that.testerDefType1 != null)
            return false;
        if (testerDefType2 != null ? !testerDefType2.equals(that.testerDefType2) : that.testerDefType2 != null)
            return false;
        if (defResetFlg != null ? !defResetFlg.equals(that.defResetFlg) : that.defResetFlg != null) return false;
        if (repairLineNo != null ? !repairLineNo.equals(that.repairLineNo) : that.repairLineNo != null) return false;
        if (defRealSize != null ? !defRealSize.equals(that.defRealSize) : that.defRealSize != null) return false;
        if (defLayer != null ? !defLayer.equals(that.defLayer) : that.defLayer != null) return false;
        if (lcvdRepairTime != null ? !lcvdRepairTime.equals(that.lcvdRepairTime) : that.lcvdRepairTime != null)
            return false;
        if (lcvdLen != null ? !lcvdLen.equals(that.lcvdLen) : that.lcvdLen != null) return false;
        if (operationId != null ? !operationId.equals(that.operationId) : that.operationId != null) return false;
        if (lcvdType != null ? !lcvdType.equals(that.lcvdType) : that.lcvdType != null) return false;
        if (reserved1 != null ? !reserved1.equals(that.reserved1) : that.reserved1 != null) return false;
        if (reserved2 != null ? !reserved2.equals(that.reserved2) : that.reserved2 != null) return false;
        if (defPictName != null ? !defPictName.equals(that.defPictName) : that.defPictName != null) return false;
        if (analysModeCode != null ? !analysModeCode.equals(that.analysModeCode) : that.analysModeCode != null)
            return false;
        if (arrayX != null ? !arrayX.equals(that.arrayX) : that.arrayX != null) return false;
        if (arrayY != null ? !arrayY.equals(that.arrayY) : that.arrayY != null) return false;
        if (arrayX2 != null ? !arrayX2.equals(that.arrayX2) : that.arrayX2 != null) return false;
        if (arrayY2 != null ? !arrayY2.equals(that.arrayY2) : that.arrayY2 != null) return false;
        if (arrayX3 != null ? !arrayX3.equals(that.arrayX3) : that.arrayX3 != null) return false;
        if (arrayY3 != null ? !arrayY3.equals(that.arrayY3) : that.arrayY3 != null) return false;
        if (arrayGlassS != null ? !arrayGlassS.equals(that.arrayGlassS) : that.arrayGlassS != null) return false;
        if (arrayGlassG != null ? !arrayGlassG.equals(that.arrayGlassG) : that.arrayGlassG != null) return false;
        if (arrayPanelS != null ? !arrayPanelS.equals(that.arrayPanelS) : that.arrayPanelS != null) return false;
        if (arrayPanelG != null ? !arrayPanelG.equals(that.arrayPanelG) : that.arrayPanelG != null) return false;
        return true;
    }

    @Override
    public int hashCode() {
        int result = stepId != null ? stepId.hashCode() : 0;
//        result = 31 * result + (componentId != null ? componentId.hashCode() : 0);
        result = 31 * result + (chipEndTime != null ? chipEndTime.hashCode() : 0);
        result = 31 * result + (defectNo != null ? defectNo.hashCode() : 0);
        result = 31 * result + (chipId != null ? chipId.hashCode() : 0);
//        result = 31 * result + (chipNo != null ? chipNo.hashCode() : 0);
        result = 31 * result + (defectType != null ? defectType.hashCode() : 0);
        result = 31 * result + (defectCode != null ? defectCode.hashCode() : 0);
        result = 31 * result + (imageData != null ? imageData.hashCode() : 0);
        result = 31 * result + (grayimageData != null ? grayimageData.hashCode() : 0);
        result = 31 * result + (autoDefectCode != null ? autoDefectCode.hashCode() : 0);
        result = 31 * result + (reason != null ? reason.hashCode() : 0);
        result = 31 * result + (mainDefectFlag != null ? mainDefectFlag.hashCode() : 0);
        result = 31 * result + (cellZone != null ? cellZone.hashCode() : 0);
        result = 31 * result + (panelX != null ? panelX.hashCode() : 0);
        result = 31 * result + (panelY != null ? panelY.hashCode() : 0);
        result = 31 * result + (panelX2 != null ? panelX2.hashCode() : 0);
        result = 31 * result + (panelY2 != null ? panelY2.hashCode() : 0);
        result = 31 * result + (panelX3 != null ? panelX3.hashCode() : 0);
        result = 31 * result + (panelY3 != null ? panelY3.hashCode() : 0);
        result = 31 * result + (s != null ? s.hashCode() : 0);
        result = 31 * result + (g != null ? g.hashCode() : 0);
        result = 31 * result + (defSize != null ? defSize.hashCode() : 0);
        result = 31 * result + (sizeX != null ? sizeX.hashCode() : 0);
        result = 31 * result + (sizeY != null ? sizeY.hashCode() : 0);
        result = 31 * result + (defectPattern != null ? defectPattern.hashCode() : 0);
        result = 31 * result + (ccdid != null ? ccdid.hashCode() : 0);
        result = 31 * result + (operatorIdRepr != null ? operatorIdRepr.hashCode() : 0);
        result = 31 * result + (defectFlag != null ? defectFlag.hashCode() : 0);
        result = 31 * result + (defZone != null ? defZone.hashCode() : 0);
        result = 31 * result + (defGrayLevelMax != null ? defGrayLevelMax.hashCode() : 0);
        result = 31 * result + (defGrayLevelMin != null ? defGrayLevelMin.hashCode() : 0);
        result = 31 * result + (defGrayLevelAvg != null ? defGrayLevelAvg.hashCode() : 0);
        result = 31 * result + (defGrayLevelRef != null ? defGrayLevelRef.hashCode() : 0);
        result = 31 * result + (adjPixelX != null ? adjPixelX.hashCode() : 0);
        result = 31 * result + (adjPixelY != null ? adjPixelY.hashCode() : 0);
        result = 31 * result + (adjDftAreaSize != null ? adjDftAreaSize.hashCode() : 0);
        result = 31 * result + (adjDftSizeX != null ? adjDftSizeX.hashCode() : 0);
        result = 31 * result + (adjDftSizeY != null ? adjDftSizeY.hashCode() : 0);
        result = 31 * result + (adjDftZone != null ? adjDftZone.hashCode() : 0);
        result = 31 * result + (alarmTestKeyNo != null ? alarmTestKeyNo.hashCode() : 0);
        result = 31 * result + (inspections != null ? inspections.hashCode() : 0);
        result = 31 * result + (beforeTapeValue != null ? beforeTapeValue.hashCode() : 0);
        result = 31 * result + (afterTapeValue != null ? afterTapeValue.hashCode() : 0);
        result = 31 * result + (grayDftQty != null ? grayDftQty.hashCode() : 0);
        result = 31 * result + (aoiDftImgName != null ? aoiDftImgName.hashCode() : 0);
        result = 31 * result + (beforeRvrpImageName != null ? beforeRvrpImageName.hashCode() : 0);
        result = 31 * result + (afterRvrpImageName != null ? afterRvrpImageName.hashCode() : 0);
        result = 31 * result + (beforeInrpImageName != null ? beforeInrpImageName.hashCode() : 0);
        result = 31 * result + (afterInrpImageName != null ? afterInrpImageName.hashCode() : 0);
        result = 31 * result + (rejudgeFlag != null ? rejudgeFlag.hashCode() : 0);
        result = 31 * result + (defectGlAve != null ? defectGlAve.hashCode() : 0);
        result = 31 * result + (testerDefType1 != null ? testerDefType1.hashCode() : 0);
        result = 31 * result + (testerDefType2 != null ? testerDefType2.hashCode() : 0);
        result = 31 * result + (defResetFlg != null ? defResetFlg.hashCode() : 0);
        result = 31 * result + (repairLineNo != null ? repairLineNo.hashCode() : 0);
        result = 31 * result + (defRealSize != null ? defRealSize.hashCode() : 0);
        result = 31 * result + (defLayer != null ? defLayer.hashCode() : 0);
        result = 31 * result + (lcvdRepairTime != null ? lcvdRepairTime.hashCode() : 0);
        result = 31 * result + (lcvdLen != null ? lcvdLen.hashCode() : 0);
        result = 31 * result + (operationId != null ? operationId.hashCode() : 0);
        result = 31 * result + (lcvdType != null ? lcvdType.hashCode() : 0);
        result = 31 * result + (reserved1 != null ? reserved1.hashCode() : 0);
        result = 31 * result + (reserved2 != null ? reserved2.hashCode() : 0);
        result = 31 * result + (defPictName != null ? defPictName.hashCode() : 0);
        result = 31 * result + (analysModeCode != null ? analysModeCode.hashCode() : 0);
        result = 31 * result + (arrayX != null ? arrayX.hashCode() : 0);
        result = 31 * result + (arrayY != null ? arrayY.hashCode() : 0);
        result = 31 * result + (arrayX2 != null ? arrayX2.hashCode() : 0);
        result = 31 * result + (arrayY2 != null ? arrayY2.hashCode() : 0);
        result = 31 * result + (arrayX3 != null ? arrayX3.hashCode() : 0);
        result = 31 * result + (arrayY3 != null ? arrayY3.hashCode() : 0);
        result = 31 * result + (arrayGlassS != null ? arrayGlassS.hashCode() : 0);
        result = 31 * result + (arrayGlassG != null ? arrayGlassG.hashCode() : 0);
        result = 31 * result + (arrayPanelS != null ? arrayPanelS.hashCode() : 0);
        result = 31 * result + (arrayPanelG != null ? arrayPanelG.hashCode() : 0);
        return result;
    }
}
